\section{Module \ocamlinlinecode{Toplevel\_\allowbreak{}comments}}\label{module-Toplevel_comments}%
A doc comment at the beginning of a module is considered to be that module's doc.

\label{module-Toplevel_comments-module-type-T}\ocamlcodefragment{\ocamltag{keyword}{module} \ocamltag{keyword}{type} \hyperref[module-Toplevel_comments-module-type-T]{\ocamlinlinecode{T}}}\ocamlcodefragment{ = \ocamltag{keyword}{sig}}\begin{ocamlindent}\label{module-Toplevel_comments-module-type-T-type-t}\ocamlcodefragment{\ocamltag{keyword}{type} t}\\
\end{ocamlindent}%
\ocamlcodefragment{\ocamltag{keyword}{end}}\begin{ocamlindent}Doc of \ocamlinlinecode{T}, part 1.\end{ocamlindent}%
\medbreak
\label{module-Toplevel_comments-module-Include_inline}\ocamlcodefragment{\ocamltag{keyword}{module} \hyperref[module-Toplevel_comments-module-Include_inline]{\ocamlinlinecode{Include\_\allowbreak{}inline}}}\ocamlcodefragment{ : \ocamltag{keyword}{sig}}\begin{ocamlindent}\ocamltag{keyword}{include} \hyperref[module-Toplevel_comments-module-type-T]{\ocamlinlinecode{T}}\label{module-Toplevel_comments-module-Include_inline-type-t}\ocamlcodefragment{\ocamltag{keyword}{type} t}\\
\end{ocamlindent}%
\ocamlcodefragment{\ocamltag{keyword}{end}}\begin{ocamlindent}Doc of \ocamlinlinecode{T}, part 2.\end{ocamlindent}%
\medbreak
\label{module-Toplevel_comments-module-Include_inline'}\ocamlcodefragment{\ocamltag{keyword}{module} \hyperref[module-Toplevel_comments-module-Include_inline']{\ocamlinlinecode{Include\_\allowbreak{}inline'}}}\ocamlcodefragment{ : \ocamltag{keyword}{sig}}\begin{ocamlindent}part 3\ocamltag{keyword}{include} \hyperref[module-Toplevel_comments-module-type-T]{\ocamlinlinecode{T}}\label{module-Toplevel_comments-module-Include_inline'-type-t}\ocamlcodefragment{\ocamltag{keyword}{type} t}\\
\end{ocamlindent}%
\ocamlcodefragment{\ocamltag{keyword}{end}}\begin{ocamlindent}Doc of \ocamlinlinecode{Include\_\allowbreak{}inline}, part 1.\end{ocamlindent}%
\medbreak
\label{module-Toplevel_comments-module-type-Include_inline_T}\ocamlcodefragment{\ocamltag{keyword}{module} \ocamltag{keyword}{type} \hyperref[module-Toplevel_comments-module-type-Include_inline_T]{\ocamlinlinecode{Include\_\allowbreak{}inline\_\allowbreak{}T}}}\ocamlcodefragment{ = \ocamltag{keyword}{sig}}\begin{ocamlindent}\ocamltag{keyword}{include} \hyperref[module-Toplevel_comments-module-type-T]{\ocamlinlinecode{T}}\label{module-Toplevel_comments-module-type-Include_inline_T-type-t}\ocamlcodefragment{\ocamltag{keyword}{type} t}\\
\end{ocamlindent}%
\ocamlcodefragment{\ocamltag{keyword}{end}}\begin{ocamlindent}Doc of \ocamlinlinecode{T}, part 2.\end{ocamlindent}%
\medbreak
\label{module-Toplevel_comments-module-type-Include_inline_T'}\ocamlcodefragment{\ocamltag{keyword}{module} \ocamltag{keyword}{type} \hyperref[module-Toplevel_comments-module-type-Include_inline_T']{\ocamlinlinecode{Include\_\allowbreak{}inline\_\allowbreak{}T'}}}\ocamlcodefragment{ = \ocamltag{keyword}{sig}}\begin{ocamlindent}part 3\ocamltag{keyword}{include} \hyperref[module-Toplevel_comments-module-type-T]{\ocamlinlinecode{T}}\label{module-Toplevel_comments-module-type-Include_inline_T'-type-t}\ocamlcodefragment{\ocamltag{keyword}{type} t}\\
\end{ocamlindent}%
\ocamlcodefragment{\ocamltag{keyword}{end}}\begin{ocamlindent}Doc of \ocamlinlinecode{Include\_\allowbreak{}inline\_\allowbreak{}T'}, part 1.\end{ocamlindent}%
\medbreak
\label{module-Toplevel_comments-module-M}\ocamlcodefragment{\ocamltag{keyword}{module} \hyperref[module-Toplevel_comments-module-M]{\ocamlinlinecode{M}}}\ocamlcodefragment{ : \ocamltag{keyword}{sig}}\begin{ocamlindent}\end{ocamlindent}%
\ocamlcodefragment{\ocamltag{keyword}{end}}\begin{ocamlindent}Doc of \ocamlinlinecode{M}\end{ocamlindent}%
\medbreak
\label{module-Toplevel_comments-module-M'}\ocamlcodefragment{\ocamltag{keyword}{module} \hyperref[module-Toplevel_comments-module-M']{\ocamlinlinecode{M'}}}\ocamlcodefragment{ : \ocamltag{keyword}{sig}}\begin{ocamlindent}\end{ocamlindent}%
\ocamlcodefragment{\ocamltag{keyword}{end}}\begin{ocamlindent}Doc of \ocamlinlinecode{M'} from outside\end{ocamlindent}%
\medbreak
\label{module-Toplevel_comments-module-M''}\ocamlcodefragment{\ocamltag{keyword}{module} \hyperref[module-Toplevel_comments-module-M'']{\ocamlinlinecode{M''}}}\ocamlcodefragment{ : \ocamltag{keyword}{sig}}\begin{ocamlindent}\end{ocamlindent}%
\ocamlcodefragment{\ocamltag{keyword}{end}}\begin{ocamlindent}Doc of \ocamlinlinecode{M''}, part 1.\end{ocamlindent}%
\medbreak
\label{module-Toplevel_comments-module-Alias}\ocamlcodefragment{\ocamltag{keyword}{module} \hyperref[module-Toplevel_comments-module-Alias]{\ocamlinlinecode{Alias}}}\ocamlcodefragment{ : \hyperref[module-Toplevel_comments-module-type-T]{\ocamlinlinecode{T}}}\begin{ocamlindent}Doc of \ocamlinlinecode{Alias}.\end{ocamlindent}%
\medbreak
\label{module-Toplevel_comments-class-c1}\ocamlcodefragment{\ocamltag{keyword}{class} \hyperref[module-Toplevel_comments-class-c1]{\ocamlinlinecode{c1}}}\ocamlcodefragment{ : int \ocamltag{arrow}{$\rightarrow$} \ocamltag{keyword}{object} .\allowbreak{}.\allowbreak{}.\allowbreak{} \ocamltag{keyword}{end}}\begin{ocamlindent}Doc of \ocamlinlinecode{c1}, part 1.\end{ocamlindent}%
\medbreak
\label{module-Toplevel_comments-class-type-ct}\ocamlcodefragment{\ocamltag{keyword}{class} \ocamltag{keyword}{type}  \hyperref[module-Toplevel_comments-class-type-ct]{\ocamlinlinecode{ct}}}\ocamlcodefragment{ = \ocamltag{keyword}{object}}\begin{ocamlindent}\end{ocamlindent}%
\ocamlcodefragment{\ocamltag{keyword}{end}}\begin{ocamlindent}Doc of \ocamlinlinecode{ct}, part 1.\end{ocamlindent}%
\medbreak
\label{module-Toplevel_comments-class-c2}\ocamlcodefragment{\ocamltag{keyword}{class} \hyperref[module-Toplevel_comments-class-c2]{\ocamlinlinecode{c2}}}\ocamlcodefragment{ : \hyperref[module-Toplevel_comments-class-type-ct]{\ocamlinlinecode{ct}}}\begin{ocamlindent}Doc of \ocamlinlinecode{c2}.\end{ocamlindent}%
\medbreak
\label{module-Toplevel_comments-module-Ref_in_synopsis}\ocamlcodefragment{\ocamltag{keyword}{module} \hyperref[module-Toplevel_comments-module-Ref_in_synopsis]{\ocamlinlinecode{Ref\_\allowbreak{}in\_\allowbreak{}synopsis}}}\ocamlcodefragment{ : \ocamltag{keyword}{sig}}\begin{ocamlindent}\label{module-Toplevel_comments-module-Ref_in_synopsis-type-t}\ocamlcodefragment{\ocamltag{keyword}{type} t}\\
\end{ocamlindent}%
\ocamlcodefragment{\ocamltag{keyword}{end}}\begin{ocamlindent}\hyperref[module-Toplevel_comments-module-Ref_in_synopsis-type-t]{\ocamlinlinecode{\ocamlinlinecode{t}}[p\pageref*{module-Toplevel_comments-module-Ref_in_synopsis-type-t}]}.\end{ocamlindent}%
\medbreak
\label{module-Toplevel_comments-module-Comments_on_open}\ocamlcodefragment{\ocamltag{keyword}{module} \hyperref[module-Toplevel_comments-module-Comments_on_open]{\ocamlinlinecode{Comments\_\allowbreak{}on\_\allowbreak{}open}}}\ocamlcodefragment{ : \ocamltag{keyword}{sig}}\begin{ocamlindent}\label{module-Toplevel_comments-module-Comments_on_open-module-M}\ocamlcodefragment{\ocamltag{keyword}{module} \hyperref[module-Toplevel_comments-module-Comments_on_open-module-M]{\ocamlinlinecode{M}}}\ocamlcodefragment{ : \ocamltag{keyword}{sig}}\begin{ocamlindent}\label{module-Toplevel_comments-module-Comments_on_open-module-M-type-t}\ocamlcodefragment{\ocamltag{keyword}{type} t}\\
\end{ocamlindent}%
\ocamlcodefragment{\ocamltag{keyword}{end}}\\
\subsubsection{Section\label{sec}}%
Comments attached to open are treated as floating comments. Referencing \hyperref[module-Toplevel_comments-module-Comments_on_open-sec]{\ocamlinlinecode{Section}[p\pageref*{module-Toplevel_comments-module-Comments_on_open-sec}]} \hyperref[module-Toplevel_comments-module-Comments_on_open-module-M-type-t]{\ocamlinlinecode{\ocamlinlinecode{M.\allowbreak{}t}}[p\pageref*{module-Toplevel_comments-module-Comments_on_open-module-M-type-t}]} works

\end{ocamlindent}%
\ocamlcodefragment{\ocamltag{keyword}{end}}\\

\input{Toplevel_comments.Alias.tex}
\input{Toplevel_comments.c1.tex}
\input{Toplevel_comments.c2.tex}
